using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace WqLunTan.Models.DataBase
{
    /// <summary>
    /// 八字简批的预测结果表
    /// </summary>
    [Table("article_forecast")]
    public class article_forecast : BaseUpdateEntity
    {
        /// <summary>
        /// 用户ID
        /// </summary>
        public Guid user_id { get; set; }

        /// <summary>
        /// 用户昵称, 可能用户修改过昵称, 点到详情页保存即可更新
        /// </summary>
        [MaxLength(20)]
        [Required(AllowEmptyStrings = true)]
        public string user_nick_name { get; set; } = string.Empty;

        /// <summary>
        /// 姓名
        /// </summary>
        [MaxLength(20)]
        [Required(AllowEmptyStrings = true)]
        public string name { get; set; } = string.Empty;

        /// <summary>
        /// 性别, true 男, false 女
        /// </summary>
        public bool sex { get; set; }

        /// <summary>
        /// 出生时间, 当地时间
        /// </summary>
        public DateTimeOffset born_date { get; set; }

        /// <summary>
        /// 出生地
        /// </summary>
        [MaxLength(50)]
        [Required(AllowEmptyStrings = true)]
        public string born_place { get; set; } = string.Empty;

        /// <summary>
        /// 标题
        /// </summary>
        [MaxLength(255)]
        [Required(AllowEmptyStrings = true)]
        public string title { get; set; } = string.Empty;

        /// <summary>
        /// 八字
        /// </summary>
        [MaxLength(50)]
        [Required(AllowEmptyStrings = true)]
        public string horoscope_8char { get; set; } = string.Empty;

        /// <summary>
        /// 是否显示
        /// </summary>
        public bool is_show { get; set; }

        /// <summary>
        /// 预测结果
        /// </summary>
        [MaxLength(2000)]
        [Required(AllowEmptyStrings = true)]
        public string horoscope_result { get; set; } = string.Empty;

        /// <summary>
        /// 修改人
        /// </summary>
        [MaxLength(50)]
        [Required(AllowEmptyStrings = true)]
        public string change_user { get; set; } = string.Empty;

    }
}
